home *** CD-ROM | disk | FTP | other *** search
/ BBS in a Box 12 / BBS in a box XII-1.iso / Files / Publish / A / Alpha.5.76.sit / Alpha.5.76 folder / Tcl / SystemCode / think.tcl < prev    next >
MacBinary  |  1994-03-08  |  7.8 KB  |  [TEXT/ALFA]

open in: MacOS 8.1     |     Win98     |     DOS

browse contents    |     view JSON data     |     view as text


This file was processed as: MacBinary (archive/macBinary).

ConfidenceProgramDetectionMatch TypeSupport
10% dexvert MacBinary (archive/macBinary) fallback Supported
1% dexvert Text File (text/txt) fallback Supported
100% file MacBinary II, inited, Tue Mar 8 16:46:22 1994, modified Tue Mar 8 16:46:22 1994, creator Alpha editor, type ASCII, 7365 bytes "think.tcl" , at 0x1d45 382 bytes resource default (weak)
99% file data default
74% TrID Macintosh plain text (MacBinary) default
25% TrID MacBinary 2 default (weak)
100% siegfried fmt/1762 MacBinary (II) default
100% lsar MacBinary default


id metadata
keyvalue
macFileType[TEXT]
macFileCreator[ALFA]



hex view
+--------+-------------------------+-------------------------+--------+--------+
|00000000| 00 09 74 68 69 6e 6b 2e | 74 63 6c 00 00 00 00 00 |..think.|tcl.....|
|00000010| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000020| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000030| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000040| 00 54 45 58 54 41 4c 46 | 41 01 00 00 00 00 00 00 |.TEXTALF|A.......|
|00000050| 00 00 00 00 00 1c c5 00 | 00 01 7e a9 a2 a2 ae a9 |........|..~.....|
|00000060| a2 a2 ae 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000070| 00 00 00 00 00 00 00 00 | 00 00 81 81 f1 c7 00 00 |........|........|
|00000080| 0d 23 20 54 68 65 20 63 | 6f 6d 6d 61 6e 64 73 20 |.# The c|ommands |
|00000090| 73 6f 20 66 61 72 20 61 | 72 65 3a 0d 23 20 09 22 |so far a|re:.# ."|
|000000a0| 74 68 69 6e 6b 46 69 6c | 65 4e 61 6d 65 20 3c 69 |thinkFil|eName <i|
|000000b0| 6e 64 65 78 3e 7c 3c 6e | 61 6d 65 3e 22 20 09 09 |ndex>|<n|ame>" ..|
|000000c0| 09 2d 20 49 6e 64 65 78 | 65 73 20 73 74 61 72 74 |.- Index|es start|
|000000d0| 20 61 74 20 27 31 27 2e | 0d 0d 73 65 74 20 54 48 | at '1'.|..set TH|
|000000e0| 49 4e 4b 20 22 54 48 49 | 4e 4b 20 50 72 6f 6a 65 |INK "THI|NK Proje|
|000000f0| 63 74 20 4d 61 6e 61 67 | 65 72 22 0d 73 65 74 20 |ct Manag|er".set |
|00000100| 41 4c 50 48 41 20 22 41 | 6c 70 68 61 20 35 2e 37 |ALPHA "A|lpha 5.7|
|00000110| 32 69 22 0d 0d 23 20 54 | 68 65 20 66 6f 6c 6c 6f |2i"..# T|he follo|
|00000120| 77 69 6e 67 20 66 6c 61 | 67 73 20 61 66 66 65 63 |wing fla|gs affec|
|00000130| 74 20 74 68 65 20 22 52 | 75 6e 22 20 63 6f 6d 6d |t the "R|un" comm|
|00000140| 61 6e 64 2e 0d 73 65 74 | 20 72 75 6e 57 69 74 68 |and..set| runWith|
|00000150| 44 65 62 75 67 67 65 72 | 09 09 31 0d 73 65 74 20 |Debugger|..1.set |
|00000160| 72 75 6e 57 69 74 68 47 | 6f 20 09 09 09 31 0d 23 |runWithG|o ...1.#|
|00000170| 20 27 61 73 6b 20 27 2c | 20 27 79 65 73 20 27 2c | 'ask ',| 'yes ',|
|00000180| 20 6f 72 20 27 6e 6f 20 | 20 27 0d 73 65 74 20 72 | or 'no | '.set r|
|00000190| 75 6e 57 69 74 68 55 70 | 64 61 74 65 20 09 09 22 |unWithUp|date .."|
|000001a0| 27 79 65 73 20 27 22 0d | 73 65 74 09 72 75 6e 57 |'yes '".|set.runW|
|000001b0| 69 74 68 53 61 76 65 44 | 69 72 74 79 09 22 27 79 |ithSaveD|irty."'y|
|000001c0| 65 73 20 27 22 0d 0d 0d | 70 72 6f 63 20 74 68 69 |es '"...|proc thi|
|000001d0| 6e 6b 4e 75 6d 46 69 6c | 65 73 20 7b 7d 20 7b 0d |nkNumFil|es {} {.|
|000001e0| 09 67 6c 6f 62 61 6c 20 | 54 48 49 4e 4b 0d 09 73 |.global |THINK..s|
|000001f0| 65 74 20 73 74 72 20 5b | 41 45 42 75 69 6c 64 20 |et str [|AEBuild |
|00000200| 2d 72 20 24 54 48 49 4e | 4b 20 22 63 6f 72 65 22 |-r $THIN|K "core"|
|00000210| 20 22 63 6e 74 65 22 20 | 22 2d 2d 2d 2d 22 20 7b | "cnte" |"----" {|
|00000220| 6f 62 6a 7b 77 61 6e 74 | 3a 74 79 70 65 28 27 50 |obj{want|:type('P|
|00000230| 44 4f 43 27 29 2c 20 66 | 72 6f 6d 3a 27 6e 75 6c |DOC'), f|rom:'nul|
|00000240| 6c 27 28 29 2c 20 66 6f | 72 6d 3a 27 69 6e 64 78 |l'(), fo|rm:'indx|
|00000250| 27 2c 20 73 65 6c 64 3a | 31 7d 7d 20 22 6b 6f 63 |', seld:|1}} "koc|
|00000260| 6c 22 20 22 74 79 70 65 | 28 27 53 46 49 4c 27 29 |l" "type|('SFIL')|
|00000270| 22 5d 0d 09 69 66 20 7b | 5b 72 65 67 65 78 70 20 |"]..if {|[regexp |
|00000280| 7b 5b 30 2d 39 5d 2b 7d | 20 24 73 74 72 20 6d 74 |{[0-9]+}| $str mt|
|00000290| 63 68 5d 7d 20 7b 0d 09 | 09 72 65 74 75 72 6e 20 |ch]} {..|.return |
|000002a0| 24 6d 74 63 68 0d 09 7d | 20 65 6c 73 65 20 7b 0d |$mtch..}| else {.|
|000002b0| 09 09 65 72 72 6f 72 20 | 22 42 61 64 20 6e 75 6d |..error |"Bad num|
|000002c0| 66 69 6c 65 73 22 0d 09 | 7d 0d 7d 0d 0d 0d 0d 23 |files"..|}.}....#|
|000002d0| 20 47 65 74 20 6c 69 73 | 74 20 6f 66 20 66 69 6c | Get lis|t of fil|
|000002e0| 65 73 20 69 6e 20 63 75 | 72 72 65 6e 74 20 70 72 |es in cu|rrent pr|
|000002f0| 6f 6a 65 63 74 2e 0d 70 | 72 6f 63 20 70 72 6f 6a |oject..p|roc proj|
|00000300| 65 63 74 46 69 6c 65 4c | 69 73 74 20 61 72 67 73 |ectFileL|ist args|
|00000310| 20 7b 0d 09 77 61 74 63 | 68 43 75 72 73 6f 72 0d | {..watc|hCursor.|
|00000320| 09 73 65 74 20 6e 75 6d | 20 5b 74 68 69 6e 6b 4e |.set num| [thinkN|
|00000330| 75 6d 46 69 6c 65 73 5d | 0d 09 73 65 74 20 66 69 |umFiles]|..set fi|
|00000340| 6c 65 73 20 7b 7d 0d 09 | 69 66 20 7b 5b 6c 6c 65 |les {}..|if {[lle|
|00000350| 6e 67 74 68 20 24 61 72 | 67 73 5d 7d 20 7b 0d 09 |ngth $ar|gs]} {..|
|00000360| 09 66 6f 72 20 7b 73 65 | 74 20 69 20 31 7d 20 7b |.for {se|t i 1} {|
|00000370| 24 69 3c 3d 24 6e 75 6d | 7d 20 7b 69 6e 63 72 20 |$i<=$num|} {incr |
|00000380| 69 7d 20 7b 0d 09 09 09 | 6c 61 70 70 65 6e 64 20 |i} {....|lappend |
|00000390| 66 69 6c 65 73 20 5b 74 | 68 69 6e 6b 46 69 6c 65 |files [t|hinkFile|
|000003a0| 4e 61 6d 65 20 2d 70 20 | 24 69 5d 0d 09 09 7d 0d |Name -p |$i]...}.|
|000003b0| 09 7d 20 65 6c 73 65 20 | 7b 0d 09 09 66 6f 72 20 |.} else |{...for |
|000003c0| 7b 73 65 74 20 69 20 31 | 7d 20 7b 24 69 3c 3d 24 |{set i 1|} {$i<=$|
|000003d0| 6e 75 6d 7d 20 7b 69 6e | 63 72 20 69 7d 20 7b 0d |num} {in|cr i} {.|
|000003e0| 09 09 09 6c 61 70 70 65 | 6e 64 20 66 69 6c 65 73 |...lappe|nd files|
|000003f0| 20 5b 74 68 69 6e 6b 46 | 69 6c 65 4e 61 6d 65 20 | [thinkF|ileName |
|00000400| 24 69 5d 0d 09 09 7d 0d | 09 7d 0d 09 72 65 74 75 |$i]...}.|.}..retu|
|00000410| 72 6e 20 24 66 69 6c 65 | 73 0d 7d 0d 0d 0d 0d 23 |rn $file|s.}....#|
|00000420| 20 54 68 69 6e 6b 20 72 | 65 66 65 72 65 6e 63 65 | Think r|eference|
|00000430| 20 32 2e 30 20 73 75 70 | 70 6f 72 74 2e 20 46 72 | 2.0 sup|port. Fr|
|00000440| 6f 6d 20 74 68 65 20 73 | 68 65 6c 6c 3a 0d 23 20 |om the s|hell:.# |
|00000450| 20 20 20 64 6f 73 63 20 | 2d 63 20 27 44 61 6e 52 | dosc |-c 'DanR|
|00000460| 27 20 2d 6b 20 27 44 61 | 6e 52 27 20 2d 65 20 22 |' -k 'Da|nR' -e "|
|00000470| 27 52 45 46 20 27 22 20 | 2d 73 20 22 50 75 74 53 |'REF '" |-s "PutS|
|00000480| 63 72 61 70 22 0d 23 20 | 74 65 6c 6c 73 20 74 68 |crap".# |tells th|
|00000490| 69 6e 6b 20 72 65 66 65 | 72 65 6e 63 65 20 74 6f |ink refe|rence to|
|000004a0| 20 66 69 6e 64 20 61 6e | 64 20 64 69 73 70 6c 61 | find an|d displa|
|000004b0| 79 20 74 68 65 20 63 6f | 72 72 65 63 74 20 72 65 |y the co|rrect re|
|000004c0| 66 65 72 65 6e 63 65 2e | 0d 23 20 20 20 20 64 6f |ference.|.# do|
|000004d0| 73 63 20 2d 63 20 27 44 | 61 6e 52 27 20 2d 6b 20 |sc -c 'D|anR' -k |
|000004e0| 27 44 61 6e 52 27 20 2d | 65 20 27 54 4d 50 4c 27 |'DanR' -|e 'TMPL'|
|000004f0| 20 2d 73 20 22 50 75 74 | 53 63 72 61 70 22 0d 23 | -s "Put|Scrap".#|
|00000500| 20 71 75 65 72 69 65 73 | 20 54 68 69 6e 6b 20 52 | queries| Think R|
|00000510| 65 66 65 72 65 6e 63 65 | 20 66 6f 72 20 61 20 66 |eference| for a f|
|00000520| 75 6e 63 74 69 6f 6e 20 | 74 65 6d 70 6c 61 74 65 |unction |template|
|00000530| 20 61 6e 64 20 49 4d 20 | 72 65 66 65 72 65 6e 63 | and IM |referenc|
|00000540| 65 2c 0d 23 20 61 6e 64 | 20 64 69 73 70 6c 61 79 |e,.# and| display|
|00000550| 73 20 69 6e 66 6f 72 6d | 61 74 69 6f 6e 20 61 62 |s inform|ation ab|
|00000560| 6f 75 74 20 74 68 65 20 | 66 75 6e 63 74 69 6f 6e |out the |function|
|00000570| 20 69 6e 20 74 68 65 20 | 62 61 63 6b 67 72 6f 75 | in the |backgrou|
|00000580| 6e 64 2e 0d 23 20 54 68 | 65 20 66 6f 6c 6c 6f 77 |nd..# Th|e follow|
|00000590| 69 6e 67 20 66 75 6e 63 | 74 69 6f 6e 20 69 6e 74 |ing func|tion int|
|000005a0| 65 72 70 72 65 74 73 20 | 74 68 65 20 73 65 6c 65 |erprets |the sele|
|000005b0| 63 74 65 64 20 74 65 78 | 74 20 61 73 20 61 20 66 |cted tex|t as a f|
|000005c0| 75 6e 63 74 69 6f 6e 20 | 0d 23 20 6e 61 6d 65 20 |unction |.# name |
|000005d0| 61 6e 64 20 64 69 73 70 | 6c 61 79 73 20 69 6e 20 |and disp|lays in |
|000005e0| 61 6e 20 61 6c 65 72 74 | 20 74 68 65 20 66 75 6e |an alert| the fun|
|000005f0| 63 74 69 6f 6e 20 74 65 | 6d 70 6c 61 74 65 2e 0d |ction te|mplate..|
|00000600| 70 72 6f 63 20 74 68 69 | 6e 6b 52 65 66 65 72 65 |proc thi|nkRefere|
|00000610| 6e 63 65 54 65 6d 70 6c | 61 74 65 20 61 72 67 73 |nceTempl|ate args|
|00000620| 20 7b 0d 09 69 66 20 7b | 5b 67 65 74 50 6f 73 5d | {..if {|[getPos]|
|00000630| 20 3d 3d 20 5b 73 65 6c | 45 6e 64 5d 7d 20 72 65 | == [sel|End]} re|
|00000640| 74 75 72 6e 0d 09 63 61 | 74 63 68 20 7b 64 6f 73 |turn..ca|tch {dos|
|00000650| 63 20 2d 63 20 27 44 61 | 6e 52 27 20 2d 6b 20 27 |c -c 'Da|nR' -k '|
|00000660| 44 61 6e 52 27 20 2d 65 | 20 27 54 4d 50 4c 27 20 |DanR' -e| 'TMPL' |
|00000670| 2d 73 20 5b 67 65 74 53 | 65 6c 65 63 74 5d 7d 20 |-s [getS|elect]} |
|00000680| 72 65 73 0d 09 61 6c 65 | 72 74 6e 6f 74 65 20 24 |res..ale|rtnote $|
|00000690| 72 65 73 0d 7d 0d 0d 0d | 0d 23 3d 3d 3d 3d 3d 3d |res.}...|.#======|
|000006a0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|000006b0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|000006c0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|000006d0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|000006e0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 0d 73 65 74 20 6c |========|==.set l|
|000006f0| 61 73 74 54 72 61 70 20 | 7b 7d 0d 0d 70 72 6f 63 |astTrap |{}..proc|
|00000700| 20 69 6e 73 65 72 74 54 | 72 61 70 54 65 6d 70 6c | insertT|rapTempl|
|00000710| 61 74 65 20 7b 7d 20 7b | 0d 09 67 6c 6f 62 61 6c |ate {} {|..global|
|00000720| 20 6c 61 73 74 54 72 61 | 70 0d 0d 09 69 66 20 7b | lastTra|p...if {|
|00000730| 21 5b 73 74 72 69 6e 67 | 20 6c 65 6e 67 74 68 20 |![string| length |
|00000740| 5b 63 68 65 63 6b 52 75 | 6e 6e 69 6e 67 20 54 68 |[checkRu|nning Th|
|00000750| 69 6e 6b 52 65 66 65 72 | 65 6e 63 65 20 44 61 6e |inkRefer|ence Dan|
|00000760| 52 20 72 65 66 65 72 65 | 6e 63 65 50 61 74 68 5d |R refere|ncePath]|
|00000770| 5d 7d 20 72 65 74 75 72 | 6e 0d 09 73 65 74 20 74 |]} retur|n..set t|
|00000780| 65 78 74 20 5b 67 65 74 | 53 65 6c 65 63 74 5d 0d |ext [get|Select].|
|00000790| 09 69 66 20 7b 21 5b 73 | 74 72 69 6e 67 20 6c 65 |.if {![s|tring le|
|000007a0| 6e 67 74 68 20 24 74 65 | 78 74 5d 7d 20 7b 0d 09 |ngth $te|xt]} {..|
|000007b0| 09 69 66 20 7b 5b 63 61 | 74 63 68 20 7b 70 72 6f |.if {[ca|tch {pro|
|000007c0| 6d 70 74 20 22 54 72 61 | 70 20 6e 61 6d 65 3a 22 |mpt "Tra|p name:"|
|000007d0| 20 24 6c 61 73 74 54 72 | 61 70 7d 20 74 65 78 74 | $lastTr|ap} text|
|000007e0| 5d 7d 20 72 65 74 75 72 | 6e 0d 09 7d 20 65 6c 73 |]} retur|n..} els|
|000007f0| 65 20 7b 0d 09 09 64 65 | 6c 65 74 65 54 65 78 74 |e {...de|leteText|
|00000800| 20 5b 67 65 74 50 6f 73 | 5d 20 5b 73 65 6c 45 6e | [getPos|] [selEn|
|00000810| 64 5d 0d 09 7d 0d 09 73 | 65 74 20 6c 61 73 74 54 |d]..}..s|et lastT|
|00000820| 72 61 70 20 24 74 65 78 | 74 0d 09 69 66 20 7b 5b |rap $tex|t..if {[|
|00000830| 63 61 74 63 68 20 7b 74 | 68 69 6e 6b 52 65 66 65 |catch {t|hinkRefe|
|00000840| 72 65 6e 63 65 20 2d 74 | 20 24 74 65 78 74 7d 20 |rence -t| $text} |
|00000850| 6f 75 74 5d 7d 20 7b 0d | 09 09 61 6c 65 72 74 6e |out]} {.|..alertn|
|00000860| 6f 74 65 20 22 54 48 49 | 4e 4b 20 52 65 66 65 72 |ote "THI|NK Refer|
|00000870| 65 6e 63 65 20 6e 6f 74 | 20 72 75 6e 6e 69 6e 67 |ence not| running|
|00000880| 2e 2e 2e 22 0d 09 7d 20 | 65 6c 73 65 20 7b 0d 09 |..."..} |else {..|
|00000890| 09 69 6e 73 65 72 74 54 | 65 78 74 20 24 6f 75 74 |.insertT|ext $out|
|000008a0| 0d 09 7d 0d 7d 0d 0d 70 | 72 6f 63 20 64 69 73 70 |..}.}..p|roc disp|
|000008b0| 6c 61 79 54 72 61 70 54 | 65 6d 70 6c 61 74 65 20 |layTrapT|emplate |
|000008c0| 7b 7d 20 7b 0d 09 67 6c | 6f 62 61 6c 20 6c 61 73 |{} {..gl|obal las|
|000008d0| 74 54 72 61 70 0d 0d 09 | 69 66 20 7b 21 5b 73 74 |tTrap...|if {![st|
|000008e0| 72 69 6e 67 20 6c 65 6e | 67 74 68 20 5b 63 68 65 |ring len|gth [che|
|000008f0| 63 6b 52 75 6e 6e 69 6e | 67 20 54 68 69 6e 6b 52 |ckRunnin|g ThinkR|
|00000900| 65 66 65 72 65 6e 63 65 | 20 44 61 6e 52 20 72 65 |eference| DanR re|
|00000910| 66 65 72 65 6e 63 65 50 | 61 74 68 5d 5d 7d 20 72 |ferenceP|ath]]} r|
|00000920| 65 74 75 72 6e 0d 09 73 | 65 74 20 74 65 78 74 20 |eturn..s|et text |
|00000930| 7b 7d 0d 09 63 61 74 63 | 68 20 7b 73 65 74 20 74 |{}..catc|h {set t|
|00000940| 65 78 74 20 5b 67 65 74 | 53 65 6c 65 63 74 5d 7d |ext [get|Select]}|
|00000950| 0d 09 69 66 20 7b 21 5b | 73 74 72 69 6e 67 20 6c |..if {![|string l|
|00000960| 65 6e 67 74 68 20 24 74 | 65 78 74 5d 7d 20 7b 0d |ength $t|ext]} {.|
|00000970| 09 09 69 66 20 7b 5b 63 | 61 74 63 68 20 7b 70 72 |..if {[c|atch {pr|
|00000980| 6f 6d 70 74 20 22 54 72 | 61 70 20 6e 61 6d 65 3a |ompt "Tr|ap name:|
|00000990| 22 20 24 6c 61 73 74 54 | 72 61 70 7d 20 74 65 78 |" $lastT|rap} tex|
|000009a0| 74 5d 7d 20 72 65 74 75 | 72 6e 0d 09 7d 0d 09 73 |t]} retu|rn..}..s|
|000009b0| 65 74 20 6c 61 73 74 54 | 72 61 70 20 24 74 65 78 |et lastT|rap $tex|
|000009c0| 74 0d 09 69 66 20 7b 5b | 63 61 74 63 68 20 7b 74 |t..if {[|catch {t|
|000009d0| 68 69 6e 6b 52 65 66 65 | 72 65 6e 63 65 20 2d 74 |hinkRefe|rence -t|
|000009e0| 20 24 74 65 78 74 7d 20 | 6f 75 74 5d 7d 20 7b 0d | $text} |out]} {.|
|000009f0| 09 09 61 6c 65 72 74 6e | 6f 74 65 20 22 54 48 49 |..alertn|ote "THI|
|00000a00| 4e 4b 20 52 65 66 65 72 | 65 6e 63 65 20 6e 6f 74 |NK Refer|ence not|
|00000a10| 20 72 75 6e 6e 69 6e 67 | 2e 2e 2e 22 0d 09 7d 20 | running|..."..} |
|00000a20| 65 6c 73 65 20 7b 0d 09 | 09 61 6c 65 72 74 6e 6f |else {..|.alertno|
|00000a30| 74 65 20 24 6f 75 74 0d | 09 7d 0d 7d 0d 0d 70 72 |te $out.|.}.}..pr|
|00000a40| 6f 63 20 6c 6f 6f 6b 75 | 70 54 72 61 70 20 7b 7d |oc looku|pTrap {}|
|00000a50| 20 7b 0d 09 67 6c 6f 62 | 61 6c 20 6c 61 73 74 54 | {..glob|al lastT|
|00000a60| 72 61 70 0d 0d 09 69 66 | 20 7b 21 5b 73 74 72 69 |rap...if| {![stri|
|00000a70| 6e 67 20 6c 65 6e 67 74 | 68 20 5b 63 68 65 63 6b |ng lengt|h [check|
|00000a80| 52 75 6e 6e 69 6e 67 20 | 54 68 69 6e 6b 52 65 66 |Running |ThinkRef|
|00000a90| 65 72 65 6e 63 65 20 44 | 61 6e 52 20 72 65 66 65 |erence D|anR refe|
|00000aa0| 72 65 6e 63 65 50 61 74 | 68 5d 5d 7d 20 72 65 74 |rencePat|h]]} ret|
|00000ab0| 75 72 6e 0d 09 73 65 74 | 20 74 65 78 74 20 7b 7d |urn..set| text {}|
|00000ac0| 0d 09 63 61 74 63 68 20 | 7b 73 65 74 20 74 65 78 |..catch |{set tex|
|00000ad0| 74 20 5b 67 65 74 53 65 | 6c 65 63 74 5d 7d 0d 09 |t [getSe|lect]}..|
|00000ae0| 69 66 20 7b 21 5b 73 74 | 72 69 6e 67 20 6c 65 6e |if {![st|ring len|
|00000af0| 67 74 68 20 24 74 65 78 | 74 5d 7d 20 7b 0d 09 09 |gth $tex|t]} {...|
|00000b00| 69 66 20 7b 5b 63 61 74 | 63 68 20 7b 70 72 6f 6d |if {[cat|ch {prom|
|00000b10| 70 74 20 22 54 72 61 70 | 20 6e 61 6d 65 3a 22 20 |pt "Trap| name:" |
|00000b20| 24 6c 61 73 74 54 72 61 | 70 7d 20 74 65 78 74 5d |$lastTra|p} text]|
|00000b30| 7d 20 72 65 74 75 72 6e | 0d 09 7d 0d 09 73 65 74 |} return|..}..set|
|00000b40| 20 6c 61 73 74 54 72 61 | 70 20 24 74 65 78 74 0d | lastTra|p $text.|
|00000b50| 09 69 66 20 7b 5b 63 61 | 74 63 68 20 7b 74 68 69 |.if {[ca|tch {thi|
|00000b60| 6e 6b 52 65 66 65 72 65 | 6e 63 65 20 2d 6c 20 61 |nkRefere|nce -l a|
|00000b70| 65 73 65 6e 64 20 24 74 | 65 78 74 7d 5d 7d 20 7b |esend $t|ext}]} {|
|00000b80| 0d 09 09 61 6c 65 72 74 | 6e 6f 74 65 20 22 54 48 |...alert|note "TH|
|00000b90| 49 4e 4b 20 52 65 66 65 | 72 65 6e 63 65 20 6e 6f |INK Refe|rence no|
|00000ba0| 74 20 72 75 6e 6e 69 6e | 67 2e 2e 2e 22 0d 09 7d |t runnin|g..."..}|
|00000bb0| 0d 7d 0d 0d 70 72 6f 63 | 20 67 6f 74 6f 52 65 66 |.}..proc| gotoRef|
|00000bc0| 65 72 65 6e 63 65 20 7b | 7d 20 7b 0d 09 63 61 74 |erence {|} {..cat|
|00000bd0| 63 68 20 7b 73 77 69 74 | 63 68 54 6f 20 5b 63 68 |ch {swit|chTo [ch|
|00000be0| 65 63 6b 52 75 6e 6e 69 | 6e 67 20 54 68 69 6e 6b |eckRunni|ng Think|
|00000bf0| 52 65 66 65 72 65 6e 63 | 65 20 44 61 6e 52 20 72 |Referenc|e DanR r|
|00000c00| 65 66 65 72 65 6e 63 65 | 50 61 74 68 5d 7d 0d 7d |eference|Path]}.}|
|00000c10| 0d 0d 0d 23 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |...#====|========|
|00000c20| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00000c30| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00000c40| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00000c50| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00000c60| 3d 3d 3d 3d 0d 0d 0d 70 | 72 6f 63 20 74 68 69 6e |====...p|roc thin|
|00000c70| 6b 20 7b 7d 20 7b 0d 09 | 73 65 74 20 6e 61 6d 65 |k {} {..|set name|
|00000c80| 20 5b 63 68 65 63 6b 52 | 75 6e 6e 69 6e 67 20 54 | [checkR|unning T|
|00000c90| 68 69 6e 6b 43 20 4b 41 | 48 4c 20 74 68 69 6e 6b |hinkC KA|HL think|
|00000ca0| 4e 61 6d 65 5d 0d 09 69 | 66 20 7b 21 5b 73 74 72 |Name]..i|f {![str|
|00000cb0| 69 6e 67 20 6c 65 6e 67 | 74 68 20 24 6e 61 6d 65 |ing leng|th $name|
|00000cc0| 5d 7d 20 72 65 74 75 72 | 6e 0d 09 73 77 69 74 63 |]} retur|n..switc|
|00000cd0| 68 54 6f 20 24 6e 61 6d | 65 0d 7d 0d 0d 70 72 6f |hTo $nam|e.}..pro|
|00000ce0| 63 20 73 65 61 72 63 68 | 4e 65 78 74 46 69 6c 65 |c search|NextFile|
|00000cf0| 20 7b 7d 20 7b 0d 09 74 | 68 69 6e 6b 46 69 6e 66 | {} {..t|hinkFinf|
|00000d00| 0d 7d 0d 0d 0d 23 20 54 | 68 65 20 27 46 69 6c 65 |.}...# T|he 'File|
|00000d10| 73 27 20 6d 65 6e 75 20 | 63 61 6e 20 69 6e 73 74 |s' menu |can inst|
|00000d20| 61 6e 74 69 61 74 65 20 | 69 74 73 65 6c 66 20 66 |antiate |itself f|
|00000d30| 72 6f 6d 20 74 68 65 20 | 54 48 49 4e 4b 20 50 72 |rom the |THINK Pr|
|00000d40| 6f 6a 65 63 74 20 4d 61 | 6e 61 67 65 72 20 69 66 |oject Ma|nager if|
|00000d50| 20 0d 23 20 69 74 20 69 | 73 20 72 75 6e 6e 69 6e | .# it i|s runnin|
|00000d60| 67 2e 20 0d 6d 65 6e 75 | 20 2d 6e 20 24 74 68 69 |g. .menu| -n $thi|
|00000d70| 6e 6b 4d 65 6e 75 20 7b | 0d 09 22 2f 2d 74 68 69 |nkMenu {|.."/-thi|
|00000d80| 6e 6b 22 0d 09 22 6f 70 | 65 6e 48 65 61 64 65 72 |nk".."op|enHeader|
|00000d90| 22 0d 09 22 73 65 74 49 | 6e 63 6c 75 64 65 70 61 |".."setI|ncludepa|
|00000da0| 74 68 c9 22 0d 09 7b 6d | 65 6e 75 20 2d 6e 20 74 |th."..{m|enu -n t|
|00000db0| 68 69 6e 6b 52 65 66 20 | 7b 0d 09 09 22 67 6f 74 |hinkRef |{..."got|
|00000dc0| 6f 52 65 66 65 72 65 6e | 63 65 22 0d 09 09 22 28 |oReferen|ce"..."(|
|00000dd0| 2d 22 0d 09 09 22 64 69 | 73 70 6c 61 79 54 72 61 |-"..."di|splayTra|
|00000de0| 70 54 65 6d 70 6c 61 74 | 65 22 0d 09 09 22 69 6e |pTemplat|e"..."in|
|00000df0| 73 65 72 74 54 72 61 70 | 54 65 6d 70 6c 61 74 65 |sertTrap|Template|
|00000e00| 22 0d 09 09 22 6c 6f 6f | 6b 75 70 54 72 61 70 22 |"..."loo|kupTrap"|
|00000e10| 0d 09 7d 7d 0d 09 22 28 | 2d 22 0d 09 7b 6d 65 6e |..}}.."(|-"..{men|
|00000e20| 75 20 2d 6e 20 7b 50 72 | 6f 6a 65 63 74 20 46 69 |u -n {Pr|oject Fi|
|00000e30| 6c 65 73 7d 20 7b 0d 09 | 09 22 67 65 74 50 72 6f |les} {..|."getPro|
|00000e40| 6a 65 63 74 46 69 6c 65 | 73 22 7d 7d 0d 09 22 63 |jectFile|s"}}.."c|
|00000e50| 72 65 61 74 65 50 72 6f | 6a 65 63 74 46 69 6c 65 |reatePro|jectFile|
|00000e60| 73 65 74 22 0d 09 22 28 | 2d 22 0d 09 22 2f 4b 63 |set".."(|-".."/Kc|
|00000e70| 6f 6d 70 69 6c 65 22 0d | 09 22 63 68 65 63 6b 53 |ompile".|."checkS|
|00000e80| 79 6e 74 61 78 22 0d 09 | 22 73 65 61 72 63 68 4e |yntax"..|"searchN|
|00000e90| 65 78 74 46 69 6c 65 22 | 0d 09 22 28 2d 22 0d 09 |extFile"|.."(-"..|
|00000ea0| 22 61 64 64 22 0d 09 22 | 61 64 64 41 6e 64 43 6f |"add".."|addAndCo|
|00000eb0| 6d 70 69 6c 65 22 0d 09 | 22 28 2d 22 0d 09 22 64 |mpile"..|"(-".."d|
|00000ec0| 69 73 61 73 73 65 6d 62 | 6c 65 22 0d 09 22 70 72 |isassemb|le".."pr|
|00000ed0| 65 70 72 6f 63 65 73 73 | 22 0d 09 22 28 70 72 65 |eprocess|".."(pre|
|00000ee0| 63 6f 6d 70 69 6c 65 22 | 0d 09 22 28 2d 22 0d 09 |compile"|.."(-"..|
|00000ef0| 22 2f 55 62 72 69 6e 67 | 55 70 54 6f 44 61 74 65 |"/Ubring|UpToDate|
|00000f00| 22 0d 09 22 6d 61 6b 65 | 22 0d 09 22 28 2d 22 0d |".."make|".."(-".|
|00000f10| 09 22 2f 52 72 75 6e 22 | 0d 7d 0d 6d 61 6b 65 46 |."/Rrun"|.}.makeF|
|00000f20| 69 6c 65 73 65 74 4d 65 | 6e 75 0d 0d 70 72 6f 63 |ilesetMe|nu..proc|
|00000f30| 20 67 65 74 50 72 6f 6a | 65 63 74 46 69 6c 65 73 | getProj|ectFiles|
|00000f40| 20 61 72 67 73 20 7b 0d | 09 6d 65 6e 75 20 2d 6e | args {.|.menu -n|
|00000f50| 20 7b 50 72 6f 6a 65 63 | 74 20 46 69 6c 65 73 7d | {Projec|t Files}|
|00000f60| 20 2d 6d 20 2d 70 20 70 | 72 6f 6a 46 69 6c 65 20 | -m -p p|rojFile |
|00000f70| 5b 6c 73 6f 72 74 20 5b | 70 72 6f 6a 65 63 74 46 |[lsort [|projectF|
|00000f80| 69 6c 65 4c 69 73 74 20 | 2d 70 5d 5d 0d 7d 0d 0d |ileList |-p]].}..|
|00000f90| 70 72 6f 63 20 70 72 6f | 6a 46 69 6c 65 20 7b 6d |proc pro|jFile {m|
|00000fa0| 65 6e 75 20 6e 61 6d 65 | 7d 20 7b 0d 09 65 64 69 |enu name|} {..edi|
|00000fb0| 74 20 5b 74 68 69 6e 6b | 46 69 6c 65 4e 61 6d 65 |t [think|FileName|
|00000fc0| 20 24 6e 61 6d 65 5d 0d | 7d 0d 0d 0d 23 3d 3d 3d | $name].|}...#===|
|00000fd0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00000fe0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00000ff0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00001000| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00001010| 3d 3d 3d 3d 3d 3d 3d 3d | 0d 23 20 41 64 64 20 66 |========|.# Add f|
|00001020| 69 6c 65 73 65 74 2e 0d | 23 3d 3d 3d 3d 3d 3d 3d |ileset..|#=======|
|00001030| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00001040| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00001050| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00001060| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00001070| 3d 3d 3d 3d 0d 70 72 6f | 63 20 63 72 65 61 74 65 |====.pro|c create|
|00001080| 50 72 6f 6a 65 63 74 46 | 69 6c 65 73 65 74 20 7b |ProjectF|ileset {|
|00001090| 7d 20 7b 0d 09 67 6c 6f | 62 61 6c 20 66 69 6c 65 |} {..glo|bal file|
|000010a0| 53 65 74 73 0d 09 67 6c | 6f 62 61 6c 20 63 75 72 |Sets..gl|obal cur|
|000010b0| 72 46 69 6c 65 53 65 74 | 0d 09 0d 09 73 65 74 20 |rFileSet|....set |
|000010c0| 6e 61 6d 65 20 22 50 72 | 6f 6a 65 63 74 22 0d 09 |name "Pr|oject"..|
|000010d0| 73 65 74 20 66 69 6c 65 | 53 65 74 73 28 24 6e 61 |set file|Sets($na|
|000010e0| 6d 65 29 20 5b 70 72 6f | 6a 65 63 74 46 69 6c 65 |me) [pro|jectFile|
|000010f0| 4c 69 73 74 5d 0d 09 61 | 64 64 4d 65 6e 75 49 74 |List]..a|ddMenuIt|
|00001100| 65 6d 20 2d 6d 20 63 68 | 6f 6f 73 65 20 24 6e 61 |em -m ch|oose $na|
|00001110| 6d 65 0d 09 73 65 74 20 | 63 75 72 72 46 69 6c 65 |me..set |currFile|
|00001120| 53 65 74 20 24 6e 61 6d | 65 0d 7d 0d 0d 23 3d 3d |Set $nam|e.}..#==|
|00001130| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00001140| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00001150| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00001160| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00001170| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 0d 0d |========|======..|
|00001180| 70 72 6f 63 20 63 68 65 | 63 6b 49 6e 63 6c 75 64 |proc che|ckInclud|
|00001190| 65 70 61 74 68 20 7b 7d | 20 7b 0d 09 67 6c 6f 62 |epath {}| {..glob|
|000011a0| 61 6c 20 69 6e 63 6c 75 | 64 65 50 61 74 68 0d 09 |al inclu|dePath..|
|000011b0| 73 65 74 20 62 61 64 20 | 30 0d 09 69 66 20 7b 21 |set bad |0..if {!|
|000011c0| 5b 69 6e 66 6f 20 65 78 | 69 73 74 73 20 69 6e 63 |[info ex|ists inc|
|000011d0| 6c 75 64 65 50 61 74 68 | 5d 7d 20 7b 72 65 74 75 |ludePath|]} {retu|
|000011e0| 72 6e 20 5b 73 65 74 49 | 6e 63 6c 75 64 65 70 61 |rn [setI|ncludepa|
|000011f0| 74 68 5d 7d 0d 09 66 6f | 72 65 61 63 68 20 70 20 |th]}..fo|reach p |
|00001200| 5b 73 75 62 56 61 72 73 | 20 24 69 6e 63 6c 75 64 |[subVars| $includ|
|00001210| 65 50 61 74 68 5d 20 7b | 0d 09 09 69 66 20 7b 21 |ePath] {|...if {!|
|00001220| 5b 66 69 6c 65 20 65 78 | 69 73 74 73 20 24 70 5d |[file ex|ists $p]|
|00001230| 7d 20 7b 73 65 74 20 62 | 61 64 20 31 7d 0d 09 7d |} {set b|ad 1}..}|
|00001240| 0d 09 69 66 20 28 24 62 | 61 64 29 20 73 65 74 49 |..if ($b|ad) setI|
|00001250| 6e 63 6c 75 64 65 70 61 | 74 68 0d 7d 0d 0d 70 72 |ncludepa|th.}..pr|
|00001260| 6f 63 20 73 65 74 49 6e | 63 6c 75 64 65 70 61 74 |oc setIn|cludepat|
|00001270| 68 20 7b 7d 20 7b 0d 09 | 67 6c 6f 62 61 6c 20 69 |h {} {..|global i|
|00001280| 6e 63 6c 75 64 65 50 61 | 74 68 20 48 4f 4d 45 0d |ncludePa|th HOME.|
|00001290| 09 0d 09 73 65 74 20 69 | 6e 63 6c 75 64 65 50 61 |...set i|ncludePa|
|000012a0| 74 68 20 7b 7d 0d 09 0d | 09 77 68 69 6c 65 20 7b |th {}...|.while {|
|000012b0| 21 5b 63 61 74 63 68 20 | 7b 73 65 74 20 70 61 74 |![catch |{set pat|
|000012c0| 68 20 5b 67 65 74 5f 64 | 69 72 65 63 74 6f 72 79 |h [get_d|irectory|
|000012d0| 5d 7d 5d 7d 20 7b 0d 09 | 09 6c 61 70 70 65 6e 64 |]}]} {..|.lappend|
|000012e0| 20 69 6e 63 6c 75 64 65 | 50 61 74 68 20 24 70 61 | include|Path $pa|
|000012f0| 74 68 0d 09 7d 0d 09 0d | 09 73 65 74 20 66 69 64 |th..}...|.set fid|
|00001300| 20 5b 6f 70 65 6e 20 22 | 24 48 4f 4d 45 3a 54 63 | [open "|$HOME:Tc|
|00001310| 6c 3a 53 79 73 74 65 6d | 43 6f 64 65 3a 64 65 66 |l:System|Code:def|
|00001320| 69 6e 69 74 69 6f 6e 73 | 2e 74 63 6c 22 20 22 61 |initions|.tcl" "a|
|00001330| 22 5d 0d 09 70 75 74 73 | 20 24 66 69 64 20 22 73 |"]..puts| $fid "s|
|00001340| 65 74 20 69 6e 63 6c 75 | 64 65 50 61 74 68 20 5c |et inclu|dePath \|
|00001350| 22 24 69 6e 63 6c 75 64 | 65 50 61 74 68 5c 22 22 |"$includ|ePath\""|
|00001360| 0d 09 63 6c 6f 73 65 20 | 24 66 69 64 0d 7d 0d 0d |..close |$fid.}..|
|00001370| 70 72 6f 63 20 6f 70 65 | 6e 48 65 61 64 65 72 20 |proc ope|nHeader |
|00001380| 7b 7d 20 7b 0d 09 67 6c | 6f 62 61 6c 20 69 6e 63 |{} {..gl|obal inc|
|00001390| 6c 75 64 65 50 61 74 68 | 0d 0d 09 63 68 65 63 6b |ludePath|...check|
|000013a0| 49 6e 63 6c 75 64 65 70 | 61 74 68 0d 09 73 65 74 |Includep|ath..set|
|000013b0| 20 70 61 74 68 20 5b 73 | 75 62 56 61 72 73 20 24 | path [s|ubVars $|
|000013c0| 69 6e 63 6c 75 64 65 50 | 61 74 68 5d 0d 09 73 65 |includeP|ath]..se|
|000013d0| 74 20 66 6e 61 6d 65 20 | 5b 67 65 74 53 65 6c 65 |t fname |[getSele|
|000013e0| 63 74 5d 0d 09 69 66 20 | 7b 5b 73 74 72 69 6e 67 |ct]..if |{[string|
|000013f0| 20 6c 61 73 74 20 22 2e | 68 22 20 24 66 6e 61 6d | last ".|h" $fnam|
|00001400| 65 5d 3d 3d 22 2d 31 22 | 7d 20 7b 0d 09 09 73 65 |e]=="-1"|} {...se|
|00001410| 74 20 66 6e 61 6d 65 20 | 24 7b 66 6e 61 6d 65 7d |t fname |${fname}|
|00001420| 2e 68 0d 09 7d 0d 09 73 | 65 74 20 77 69 6e 20 5b |.h..}..s|et win [|
|00001430| 6c 69 6e 64 65 78 20 5b | 77 69 6e 4e 61 6d 65 73 |lindex [|winNames|
|00001440| 20 2d 66 5d 20 30 5d 0d | 09 69 66 20 7b 5b 73 74 | -f] 0].|.if {[st|
|00001450| 72 69 6e 67 20 6d 61 74 | 63 68 20 2a 3a 2a 20 24 |ring mat|ch *:* $|
|00001460| 77 69 6e 5d 7d 20 7b 0d | 09 09 6c 61 70 70 65 6e |win]} {.|..lappen|
|00001470| 64 20 70 61 74 68 20 5b | 66 69 6c 65 20 64 69 72 |d path [|file dir|
|00001480| 6e 61 6d 65 20 24 77 69 | 6e 5d 0d 09 7d 0d 09 66 |name $wi|n]..}..f|
|00001490| 6f 72 65 61 63 68 20 64 | 69 72 20 24 70 61 74 68 |oreach d|ir $path|
|000014a0| 20 7b 0d 09 09 69 66 20 | 7b 5b 66 69 6c 65 20 65 | {...if |{[file e|
|000014b0| 78 69 73 74 73 20 24 64 | 69 72 3a 24 66 6e 61 6d |xists $d|ir:$fnam|
|000014c0| 65 5d 7d 20 7b 0d 09 09 | 09 65 64 69 74 20 24 64 |e]} {...|.edit $d|
|000014d0| 69 72 3a 24 66 6e 61 6d | 65 0d 09 09 09 72 65 74 |ir:$fnam|e....ret|
|000014e0| 75 72 6e 0d 09 09 7d 0d | 09 7d 0d 09 62 65 65 70 |urn...}.|.}..beep|
|000014f0| 0d 09 6d 65 73 73 61 67 | 65 20 22 4e 6f 20 73 75 |..messag|e "No su|
|00001500| 63 68 20 68 65 61 64 65 | 72 20 66 69 6c 65 22 0d |ch heade|r file".|
|00001510| 7d 0d 0d 23 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |}..#====|========|
|00001520| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00001530| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00001540| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00001550| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00001560| 3d 3d 3d 3d 0d 0d 70 72 | 6f 63 20 73 65 6e 64 4f |====..pr|oc sendO|
|00001570| 70 65 6e 45 76 65 6e 74 | 20 7b 66 69 6c 6c 65 72 |penEvent| {filler|
|00001580| 20 61 70 70 6e 61 6d 65 | 20 66 6e 61 6d 65 7d 20 | appname| fname} |
|00001590| 7b 0d 09 41 45 42 75 69 | 6c 64 20 24 61 70 70 6e |{..AEBui|ld $appn|
|000015a0| 61 6d 65 20 61 65 76 74 | 20 6f 64 6f 63 20 22 2d |ame aevt| odoc "-|
|000015b0| 2d 2d 2d 22 20 5b 63 6f | 6e 63 61 74 20 7b 5b 61 |---" [co|ncat {[a|
|000015c0| 6c 69 73 28 c7 7d 20 5b | 63 6f 65 72 63 65 20 54 |lis(.} [|coerce T|
|000015d0| 45 58 54 20 24 66 6e 61 | 6d 65 20 2d 78 20 61 6c |EXT $fna|me -x al|
|000015e0| 69 73 5d 20 7b c8 29 5d | 7d 5d 0d 7d 0d 0d 70 72 |is] {.)]|}].}..pr|
|000015f0| 6f 63 20 63 6f 6d 70 69 | 6c 65 20 7b 7d 20 7b 0d |oc compi|le {} {.|
|00001600| 09 73 65 6e 64 43 6f 6d | 70 69 6c 65 45 76 65 6e |.sendCom|pileEven|
|00001610| 74 20 43 4d 50 4c 0d 7d | 0d 0d 70 72 6f 63 20 63 |t CMPL.}|..proc c|
|00001620| 68 65 63 6b 53 79 6e 74 | 61 78 20 7b 7d 20 7b 0d |heckSynt|ax {} {.|
|00001630| 09 73 65 6e 64 43 6f 6d | 70 69 6c 65 45 76 65 6e |.sendCom|pileEven|
|00001640| 74 20 53 4e 54 58 0d 7d | 0d 0d 70 72 6f 63 20 64 |t SNTX.}|..proc d|
|00001650| 69 73 61 73 73 65 6d 62 | 6c 65 20 7b 7d 20 7b 0d |isassemb|le {} {.|
|00001660| 09 73 65 6e 64 43 6f 6d | 70 69 6c 65 45 76 65 6e |.sendCom|pileEven|
|00001670| 74 20 44 41 53 4d 0d 7d | 0d 0d 70 72 6f 63 20 70 |t DASM.}|..proc p|
|00001680| 72 65 70 72 6f 63 65 73 | 73 20 7b 7d 20 7b 0d 09 |reproces|s {} {..|
|00001690| 22 54 68 69 6e 6b 20 69 | 73 6e 27 74 20 71 75 69 |"Think i|sn't qui|
|000016a0| 74 65 20 74 68 65 72 65 | 20 79 65 74 2e 2e 2e 22 |te there| yet..."|
|000016b0| 0d 09 72 65 74 75 72 6e | 0d 7d 0d 0d 70 72 6f 63 |..return|.}..proc|
|000016c0| 20 73 65 6e 64 43 6f 6d | 70 69 6c 65 45 76 65 6e | sendCom|pileEven|
|000016d0| 74 20 7b 65 76 65 6e 74 | 7d 20 7b 0d 09 67 6c 6f |t {event|} {..glo|
|000016e0| 62 61 6c 20 54 48 49 4e | 4b 20 41 4c 50 48 41 0d |bal THIN|K ALPHA.|
|000016f0| 09 73 65 74 20 6e 61 6d | 65 20 5b 6c 69 6e 64 65 |.set nam|e [linde|
|00001700| 78 20 5b 77 69 6e 4e 61 | 6d 65 73 20 2d 66 5d 20 |x [winNa|mes -f] |
|00001710| 30 5d 0d 09 73 77 69 74 | 63 68 54 6f 20 24 54 48 |0]..swit|chTo $TH|
|00001720| 49 4e 4b 0d 09 73 65 74 | 20 72 65 73 20 5b 41 45 |INK..set| res [AE|
|00001730| 42 75 69 6c 64 20 2d 72 | 20 2d 74 20 36 30 30 30 |Build -r| -t 6000|
|00001740| 20 24 54 48 49 4e 4b 20 | 4b 41 48 4c 20 24 65 76 | $THINK |KAHL $ev|
|00001750| 65 6e 74 20 22 2d 2d 2d | 2d 22 20 5b 6a 6f 69 6e |ent "---|-" [join|
|00001760| 20 5b 63 6f 6e 63 61 74 | 20 7b 6f 62 6a 5c 7b 77 | [concat| {obj\{w|
|00001770| 61 6e 74 3a 74 79 70 65 | 28 27 53 46 49 4c 27 29 |ant:type|('SFIL')|
|00001780| 2c 20 66 72 6f 6d 3a 27 | 6e 75 6c 6c 27 28 29 2c |, from:'|null'(),|
|00001790| 20 66 6f 72 6d 3a 27 6e | 61 6d 65 27 2c 20 73 65 | form:'n|ame', se|
|000017a0| 6c 64 3a d2 7d 20 5b 66 | 69 6c 65 20 74 61 69 6c |ld:.} [f|ile tail|
|000017b0| 20 24 6e 61 6d 65 5d 20 | 7b d3 5c 7d 7d 5d 20 22 | $name] |{.\}}] "|
|000017c0| 22 5d 5d 0d 09 73 77 69 | 74 63 68 54 6f 20 24 41 |"]]..swi|tchTo $A|
|000017d0| 4c 50 48 41 0d 09 72 65 | 74 75 72 6e 20 24 72 65 |LPHA..re|turn $re|
|000017e0| 73 0d 7d 0d 0d 0d 70 72 | 6f 63 20 61 64 64 20 7b |s.}...pr|oc add {|
|000017f0| 7d 20 7b 0d 09 67 6c 6f | 62 61 6c 20 54 48 49 4e |} {..glo|bal THIN|
|00001800| 4b 0d 09 73 65 74 20 66 | 6e 61 6d 65 20 5b 6c 69 |K..set f|name [li|
|00001810| 6e 64 65 78 20 5b 77 69 | 6e 4e 61 6d 65 73 20 2d |ndex [wi|nNames -|
|00001820| 66 5d 20 30 5d 0d 09 41 | 45 42 75 69 6c 64 20 24 |f] 0]..A|EBuild $|
|00001830| 54 48 49 4e 4b 20 63 6f | 72 65 20 63 72 65 6c 20 |THINK co|re crel |
|00001840| 22 64 61 74 61 22 20 5b | 63 6f 6e 63 61 74 20 7b |"data" [|concat {|
|00001850| 5b 61 6c 69 73 28 c7 7d | 20 5b 63 6f 65 72 63 65 |[alis(.}| [coerce|
|00001860| 20 54 45 58 54 20 24 66 | 6e 61 6d 65 20 2d 78 20 | TEXT $f|name -x |
|00001870| 61 6c 69 73 5d 20 7b c8 | 29 5d 7d 5d 20 22 6b 6f |alis] {.|)]}] "ko|
|00001880| 63 6c 22 20 22 74 79 70 | 65 28 27 53 46 49 4c 27 |cl" "typ|e('SFIL'|
|00001890| 29 22 0d 7d 0d 0d 70 72 | 6f 63 20 61 64 64 41 6e |)".}..pr|oc addAn|
|000018a0| 64 43 6f 6d 70 69 6c 65 | 20 7b 7d 20 7b 0d 09 61 |dCompile| {} {..a|
|000018b0| 64 64 0d 09 63 6f 6d 70 | 69 6c 65 0d 7d 0d 0d 0d |dd..comp|ile.}...|
|000018c0| 70 72 6f 63 20 70 72 65 | 63 6f 6d 70 69 6c 65 20 |proc pre|compile |
|000018d0| 7b 7d 20 7b 0d 09 61 6c | 65 72 74 6e 6f 74 65 20 |{} {..al|ertnote |
|000018e0| 22 53 6f 6d 65 64 61 79 | c9 22 0d 7d 0d 0d 70 72 |"Someday|.".}..pr|
|000018f0| 6f 63 20 62 72 69 6e 67 | 55 70 54 6f 44 61 74 65 |oc bring|UpToDate|
|00001900| 20 7b 7d 20 7b 0d 09 61 | 6c 65 72 74 6e 6f 74 65 | {} {..a|lertnote|
|00001910| 20 22 53 6f 6d 65 64 61 | 79 c9 22 0d 7d 0d 0d 70 | "Someda|y.".}..p|
|00001920| 72 6f 63 20 6d 61 6b 65 | 20 7b 7d 20 7b 0d 09 67 |roc make| {} {..g|
|00001930| 6c 6f 62 61 6c 20 54 48 | 49 4e 4b 20 41 4c 50 48 |lobal TH|INK ALPH|
|00001940| 41 0d 09 73 77 69 74 63 | 68 54 6f 20 24 54 48 49 |A..switc|hTo $THI|
|00001950| 4e 4b 0d 09 73 65 74 20 | 72 65 73 20 5b 41 45 42 |NK..set |res [AEB|
|00001960| 75 69 6c 64 20 2d 72 20 | 2d 74 20 36 30 30 30 20 |uild -r |-t 6000 |
|00001970| 24 54 48 49 4e 4b 20 4b | 41 48 4c 20 4d 41 4b 45 |$THINK K|AHL MAKE|
|00001980| 20 22 43 46 4c 47 22 20 | 22 6c 6f 6e 67 28 c7 30 | "CFLG" |"long(.0|
|00001990| 32 c8 29 22 20 22 2d 2d | 2d 2d 22 20 7b 6f 62 6a |2.)" "--|--" {obj|
|000019a0| 7b 77 61 6e 74 3a 74 79 | 70 65 28 27 50 44 4f 43 |{want:ty|pe('PDOC|
|000019b0| 27 29 2c 20 66 72 6f 6d | 3a 27 6e 75 6c 6c 27 28 |'), from|:'null'(|
|000019c0| 29 2c 20 66 6f 72 6d 3a | 27 69 6e 64 78 27 2c 20 |), form:|'indx', |
|000019d0| 73 65 6c 64 3a 31 7d 7d | 5d 20 0d 09 73 77 69 74 |seld:1}}|] ..swit|
|000019e0| 63 68 54 6f 20 24 41 4c | 50 48 41 0d 09 72 65 74 |chTo $AL|PHA..ret|
|000019f0| 75 72 6e 20 24 72 65 73 | 0d 7d 0d 0d 70 72 6f 63 |urn $res|.}..proc|
|00001a00| 20 72 75 6e 20 7b 7d 20 | 7b 0d 09 67 6c 6f 62 61 | run {} |{..globa|
|00001a10| 6c 20 72 75 6e 57 69 74 | 68 44 65 62 75 67 67 65 |l runWit|hDebugge|
|00001a20| 72 20 72 75 6e 57 69 74 | 68 47 6f 20 72 75 6e 57 |r runWit|hGo runW|
|00001a30| 69 74 68 55 70 64 61 74 | 65 20 72 75 6e 57 69 74 |ithUpdat|e runWit|
|00001a40| 68 53 61 76 65 44 69 72 | 74 79 20 54 48 49 4e 4b |hSaveDir|ty THINK|
|00001a50| 0d 09 73 65 74 20 64 62 | 75 67 20 5b 65 78 70 72 |..set db|ug [expr|
|00001a60| 20 7b 24 72 75 6e 57 69 | 74 68 44 65 62 75 67 67 | {$runWi|thDebugg|
|00001a70| 65 72 20 3f 20 22 62 6f | 6f 6c 28 c7 30 31 c8 29 |er ? "bo|ol(.01.)|
|00001a80| 22 20 3a 20 22 62 6f 6f | 6c 28 c7 30 30 c8 29 22 |" : "boo|l(.00.)"|
|00001a90| 7d 5d 0d 09 73 65 74 20 | 67 6f 20 5b 65 78 70 72 |}]..set |go [expr|
|00001aa0| 20 7b 24 72 75 6e 57 69 | 74 68 47 6f 20 3f 20 22 | {$runWi|thGo ? "|
|00001ab0| 62 6f 6f 6c 28 c7 30 31 | c8 29 22 20 3a 20 22 62 |bool(.01|.)" : "b|
|00001ac0| 6f 6f 6c 28 c7 30 30 c8 | 29 22 7d 5d 0d 09 73 77 |ool(.00.|)"}]..sw|
|00001ad0| 69 74 63 68 54 6f 20 24 | 54 48 49 4e 4b 0d 09 41 |itchTo $|THINK..A|
|00001ae0| 45 42 75 69 6c 64 20 2d | 74 20 36 30 30 30 20 2d |EBuild -|t 6000 -|
|00001af0| 72 20 24 54 48 49 4e 4b | 20 4b 41 48 4c 20 22 52 |r $THINK| KAHL "R|
|00001b00| 55 4e 20 22 20 22 44 42 | 55 47 22 20 24 64 62 75 |UN " "DB|UG" $dbu|
|00001b10| 67 20 20 22 47 4f 20 20 | 22 20 24 67 6f 20 22 55 |g "GO |" $go "U|
|00001b20| 50 44 54 22 20 24 72 75 | 6e 57 69 74 68 55 70 64 |PDT" $ru|nWithUpd|
|00001b30| 61 74 65 20 22 73 61 76 | 6f 22 20 24 72 75 6e 57 |ate "sav|o" $runW|
|00001b40| 69 74 68 53 61 76 65 44 | 69 72 74 79 0d 7d 0d 0d |ithSaveD|irty.}..|
|00001b50| 70 72 6f 63 20 63 6e 74 | 20 7b 7d 20 7b 0d 09 67 |proc cnt| {} {..g|
|00001b60| 6c 6f 62 61 6c 20 54 48 | 49 4e 4b 0d 09 41 45 42 |lobal TH|INK..AEB|
|00001b70| 75 69 6c 64 20 2d 74 20 | 36 30 30 30 20 2d 72 20 |uild -t |6000 -r |
|00001b80| 24 54 48 49 4e 4b 20 63 | 6f 72 65 20 63 6e 74 65 |$THINK c|ore cnte|
|00001b90| 20 22 2d 2d 2d 2d 22 20 | 7b 6f 62 6a 7b 77 61 6e | "----" |{obj{wan|
|00001ba0| 74 3a 74 79 70 65 28 27 | 50 44 4f 43 27 29 2c 20 |t:type('|PDOC'), |
|00001bb0| 66 72 6f 6d 3a 27 6e 75 | 6c 6c 27 28 29 2c 20 66 |from:'nu|ll'(), f|
|00001bc0| 6f 72 6d 3a 27 69 6e 64 | 78 27 2c 20 73 65 6c 64 |orm:'ind|x', seld|
|00001bd0| 3a 31 7d 7d 20 22 6b 6f | 63 6c 22 20 22 74 79 70 |:1}} "ko|cl" "typ|
|00001be0| 65 28 27 73 66 69 6c 27 | 29 22 0d 7d 0d 0d 70 72 |e('sfil'|)".}..pr|
|00001bf0| 6f 63 20 74 68 69 6e 6b | 46 69 6c 65 4e 61 6d 65 |oc think|FileName|
|00001c00| 20 7b 61 72 67 7d 20 7b | 0d 09 67 6c 6f 62 61 6c | {arg} {|..global|
|00001c10| 20 54 48 49 4e 4b 0d 09 | 73 65 74 20 65 76 65 6e | THINK..|set even|
|00001c20| 74 20 5b 6a 6f 69 6e 20 | 5b 63 6f 6e 63 61 74 20 |t [join |[concat |
|00001c30| 7b 6f 62 6a 5c 20 5c 7b | 77 61 6e 74 3a 74 79 70 |{obj\ \{|want:typ|
|00001c40| 65 28 27 70 72 6f 70 27 | 29 2c 5c 20 66 72 6f 6d |e('prop'|),\ from|
|00001c50| 3a 6f 62 6a 5c 20 5c 7b | 77 61 6e 74 3a 74 79 70 |:obj\ \{|want:typ|
|00001c60| 65 28 27 53 46 49 4c 27 | 29 2c 5c 20 66 72 6f 6d |e('SFIL'|),\ from|
|00001c70| 3a 27 6e 75 6c 6c 27 28 | 29 2c 5c 20 66 6f 72 6d |:'null'(|),\ form|
|00001c80| 3a 27 69 6e 64 78 27 2c | 5c 20 73 65 6c 64 3a 7d |:'indx',|\ seld:}|
|00001c90| 20 24 61 72 67 20 7b 5c | 7d 2c 5c 20 66 6f 72 6d | $arg {\|},\ form|
|00001ca0| 3a 27 70 72 6f 70 27 2c | 5c 20 73 65 6c 64 3a 74 |:'prop',|\ seld:t|
|00001cb0| 79 70 65 28 27 46 53 53 | 5c 20 27 29 5c 7d 7d 5d |ype('FSS|\ ')\}}]|
|00001cc0| 20 22 22 5d 0d 09 73 65 | 74 20 62 6c 61 68 20 5b | ""]..se|t blah [|
|00001cd0| 41 45 42 75 69 6c 64 20 | 2d 72 20 24 54 48 49 4e |AEBuild |-r $THIN|
|00001ce0| 4b 20 22 63 6f 72 65 22 | 20 22 67 65 74 64 22 20 |K "core"| "getd" |
|00001cf0| 20 22 2d 2d 2d 2d 22 20 | 24 65 76 65 6e 74 5d 0d | "----" |$event].|
|00001d00| 09 72 65 67 65 78 70 20 | 7b c7 5b 30 2d 39 41 2d |.regexp |{.[0-9A-|
|00001d10| 46 5d 2b c8 7d 20 24 62 | 6c 61 68 20 6d 74 63 68 |F]+.} $b|lah mtch|
|00001d20| 0d 09 72 65 74 75 72 6e | 20 5b 73 74 72 69 6e 67 |..return| [string|
|00001d30| 20 74 72 69 6d 20 24 6d | 74 63 68 20 22 c7 c8 22 | trim $m|tch ".."|
|00001d40| 5d 0d 7d 0d 0d 00 00 00 | 00 00 00 00 00 00 00 00 |].}.....|........|
|00001d50| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00001d60| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00001d70| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00001d80| 00 00 01 00 00 00 01 4c | 00 00 00 4c 00 00 00 32 |.......L|...L...2|
|00001d90| 0f 0a 00 0a 0f 0a 00 08 | 0f 0a 00 06 0f 0a 00 04 |........|........|
|00001da0| 0f 0a 25 26 08 02 02 0f | 08 02 0a 0f 08 02 08 0f |..%&....|........|
|00001db0| 09 74 68 69 6e 6b 2e 74 | 63 6c 02 00 00 00 50 61 |.think.t|cl....Pa|
|00001dc0| 72 74 53 49 54 21 00 00 | 00 00 00 00 00 00 00 00 |rtSIT!..|........|
|00001dd0| 00 00 50 61 72 74 53 49 | 54 21 00 00 00 00 00 00 |..PartSI|T!......|
|00001de0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00001df0| 00 00 a9 b0 91 a8 00 00 | 00 00 00 00 01 7e 04 0f |........|.....~..|
|00001e00| 08 06 00 0f 08 04 02 0f | 08 04 0a 0f 08 04 08 0f |........|........|
|00001e10| 08 04 06 0f 08 04 04 0f | 08 04 00 0f 08 00 02 0f |........|........|
|00001e20| 08 00 0a 0f 08 00 08 0f | 08 00 06 0f 08 00 04 0f |........|........|
|00001e30| 08 00 00 0f 06 02 02 0f | 06 02 0a 0f 06 02 08 0f |........|........|
|00001e40| 06 02 06 0f 06 02 04 0f | 06 02 00 0f 06 0a 02 0f |........|........|
|00001e50| 06 0a 0a 0f 06 0a 08 0f | 06 0a 06 0f 06 0a 04 0f |........|........|
|00001e60| 06 0a 00 0f 06 08 02 0f | 06 08 0a 0f 06 08 08 0f |........|........|
|00001e70| 06 08 06 0f 06 08 04 0f | 06 08 00 0f 06 06 02 0f |........|........|
|00001e80| 00 00 00 48 00 09 4d 6f | 6e 61 63 6f 00 00 00 63 |...H..Mo|naco...c|
|00001e90| 71 40 00 00 00 00 00 72 | 81 ce 00 02 f7 6c 00 67 |q@.....r|.....l.g|
|00001ea0| 00 6b 6a e4 00 00 00 04 | 00 04 00 2a 00 03 01 dd |.kj.....|...*....|
|00001eb0| 02 7d 00 2a 00 03 01 dd | 02 7d 00 00 84 2d 00 00 |.}.*....|.}...-..|
|00001ec0| 19 7c 00 00 19 7c 00 00 | 18 55 01 00 00 00 01 00 |.|...|..|.U......|
|00001ed0| 00 00 01 4c 00 00 00 4c | 00 00 00 32 00 63 71 40 |...L...L|...2.cq@|
|00001ee0| 09 ec 00 00 00 1c 00 32 | 00 00 4d 50 53 52 00 00 |.......2|..MPSR..|
|00001ef0| 00 0a 03 ed ff ff 00 00 | 00 00 00 69 81 0c 00 00 |........|...i....|
+--------+-------------------------+-------------------------+--------+--------+